const crypto = require('crypto');

// 使用的非对称加密算法
const algorithm = 'rsa';

// 加密的数据
const dataToEncrypt = 'Hello, World!';

// 生成 RSA 密钥对
const { publicKey, privateKey } = crypto.generateKeyPairSync('rsa', {
    modulusLength: 2048,
    publicKeyEncoding: { type: 'spki', format: 'pem' },
    privateKeyEncoding: { type: 'pkcs8', format: 'pem' }
});

// 使用公钥加密数据
const encryptedData = crypto.publicEncrypt(publicKey, Buffer.from(dataToEncrypt, 'utf8')).toString('base64');
console.log('RSA 加密结果:', encryptedData);

// 使用私钥解密数据
const decryptedData = crypto.privateDecrypt(privateKey, Buffer.from(encryptedData, 'base64')).toString('utf8');
console.log('RSA 解密结果:', decryptedData);